syntax = "proto3";

package weaviate.v1;

option go_package = "github.com/weaviate/weaviate/grpc/generated;protocol";
option java_package = "io.weaviate.client.grpc.protocol.v1";
option java_outer_classname = "WeaviateProtoTenants";

enum TenantActivityStatus {
  TENANT_ACTIVITY_STATUS_UNSPECIFIED = 0;
  TENANT_ACTIVITY_STATUS_HOT = 1;
  TENANT_ACTIVITY_STATUS_COLD = 2;
  TENANT_ACTIVITY_STATUS_WARM = 3;
  TENANT_ACTIVITY_STATUS_FROZEN = 4;
}

message TenantsGetRequest {
  string collection = 1;
  bool is_consistent = 2;
  // we might need to add a tenant-cursor api at some point, make this easily extendable
  oneof params {
    TenantNames names = 3;
  };
}

message TenantNames {
  repeated string values = 1;

}

message TenantsGetReply {
  float took = 1;
  repeated Tenant tenants = 2;
}

message Tenant {
  string name = 1;
  TenantActivityStatus activity_status = 2;
}
